\hypertarget{format__csv_8c}{}\doxysubsection{extern/libembroidery/src/formats/format\+\_\+csv.c File Reference}
\label{format__csv_8c}\index{extern/libembroidery/src/formats/format\_csv.c@{extern/libembroidery/src/formats/format\_csv.c}}
{\ttfamily \#include $<$stdio.\+h$>$}\newline
{\ttfamily \#include $<$stdlib.\+h$>$}\newline
{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$math.\+h$>$}\newline
{\ttfamily \#include \char`\"{}../embroidery\+\_\+internal.\+h\char`\"{}}\newline
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
char $\ast$ \mbox{\hyperlink{format__csv_8c_a016bdfecd3196adcb2a361a7588f0a58}{csv\+Stitch\+Flag\+To\+Str}} (int flags)
\item 
int \mbox{\hyperlink{format__csv_8c_a1d6ba9a7e016e07f04527e9666eecb45}{csv\+Str\+To\+Stitch\+Flag}} (const char $\ast$str)
\item 
char \mbox{\hyperlink{format__csv_8c_af8562a6749be73de2791c54b1a7186bf}{read\+Csv}} (\mbox{\hyperlink{embroidery_8h_a168c2ed6c7e17dd1aa7755aabc1db314}{Emb\+Pattern}} $\ast$pattern, FILE $\ast$file)
\item 
char \mbox{\hyperlink{format__csv_8c_af19e960a6be43cc3e6b92f76a6372d36}{write\+Csv}} (\mbox{\hyperlink{embroidery_8h_a168c2ed6c7e17dd1aa7755aabc1db314}{Emb\+Pattern}} $\ast$pattern, FILE $\ast$file)
\end{DoxyCompactItemize}


\doxysubsubsection{Detailed Description}
Comma Separated Values (.csv) \index{csv@{csv}}

Comma Seperated Values files aren\textquotesingle{}t a universal system, here we aim to offer a broad support. The dialect is detected based on the opening lines, as each manufacturer should label their CSV files there.\hypertarget{format__csv_8c_emb-2-csv-dialect}{}\doxysubparagraph{Embroidermodder 2.\+0 CSV Dialect}\label{format__csv_8c_emb-2-csv-dialect}
Our own version has the identifier comment line\+:

$\vert$ Control Symbol $\vert$ Type $\vert$ Description $\vert$ $\vert$---$\vert$---$\vert$ $\vert$ {\ttfamily \#} $\vert$ {\ttfamily COMMENT} $\vert$ $\vert$ $\vert$ {\ttfamily \texorpdfstring{$>$}{>}} $\vert$ {\ttfamily VARIABLE} $\vert$ To store records of a pattern\textquotesingle{}s width, height etc. This means that data stored in the header of say a .dst file is preserved. $\vert$ $\vert$ {\ttfamily \$} $\vert$ {\ttfamily THREAD} $\vert$ $\vert$ $\vert$ {\ttfamily $\ast$} $\vert$ {\ttfamily STITCH} $\vert$ $\vert$ $\vert$ {\ttfamily $\ast$} $\vert$ {\ttfamily JUMP} $\vert$ $\vert$ $\vert$ {\ttfamily $\ast$} $\vert$ {\ttfamily COLOR} $\vert$ To change a color\+: used for trim as well $\vert$ $\vert$ {\ttfamily $\ast$} $\vert$ {\ttfamily END} $\vert$ To end a pattern. $\vert$ $\vert$ {\ttfamily $\ast$} $\vert$ {\ttfamily UNKNOWN} $\vert$ For any feature that we can\textquotesingle{}t identify.\hypertarget{format__csv_8c_embird-csv-dialect}{}\doxysubparagraph{Em\+Bird CSV Dialect}\label{format__csv_8c_embird-csv-dialect}
\index{Embird@{Embird}} 

\doxysubsubsection{Function Documentation}
\mbox{\Hypertarget{format__csv_8c_a016bdfecd3196adcb2a361a7588f0a58}\label{format__csv_8c_a016bdfecd3196adcb2a361a7588f0a58}} 
\index{format\_csv.c@{format\_csv.c}!csvStitchFlagToStr@{csvStitchFlagToStr}}
\index{csvStitchFlagToStr@{csvStitchFlagToStr}!format\_csv.c@{format\_csv.c}}
\doxyparagraph{\texorpdfstring{csvStitchFlagToStr()}{csvStitchFlagToStr()}}
{\footnotesize\ttfamily char $\ast$ csv\+Stitch\+Flag\+To\+Str (\begin{DoxyParamCaption}\item[{int}]{flags }\end{DoxyParamCaption})}

\mbox{\Hypertarget{format__csv_8c_a1d6ba9a7e016e07f04527e9666eecb45}\label{format__csv_8c_a1d6ba9a7e016e07f04527e9666eecb45}} 
\index{format\_csv.c@{format\_csv.c}!csvStrToStitchFlag@{csvStrToStitchFlag}}
\index{csvStrToStitchFlag@{csvStrToStitchFlag}!format\_csv.c@{format\_csv.c}}
\doxyparagraph{\texorpdfstring{csvStrToStitchFlag()}{csvStrToStitchFlag()}}
{\footnotesize\ttfamily int csv\+Str\+To\+Stitch\+Flag (\begin{DoxyParamCaption}\item[{const char $\ast$}]{str }\end{DoxyParamCaption})}

\mbox{\Hypertarget{format__csv_8c_af8562a6749be73de2791c54b1a7186bf}\label{format__csv_8c_af8562a6749be73de2791c54b1a7186bf}} 
\index{format\_csv.c@{format\_csv.c}!readCsv@{readCsv}}
\index{readCsv@{readCsv}!format\_csv.c@{format\_csv.c}}
\doxyparagraph{\texorpdfstring{readCsv()}{readCsv()}}
{\footnotesize\ttfamily char read\+Csv (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{embroidery_8h_a168c2ed6c7e17dd1aa7755aabc1db314}{Emb\+Pattern}} $\ast$}]{pattern,  }\item[{FILE $\ast$}]{file }\end{DoxyParamCaption})}

\mbox{\Hypertarget{format__csv_8c_af19e960a6be43cc3e6b92f76a6372d36}\label{format__csv_8c_af19e960a6be43cc3e6b92f76a6372d36}} 
\index{format\_csv.c@{format\_csv.c}!writeCsv@{writeCsv}}
\index{writeCsv@{writeCsv}!format\_csv.c@{format\_csv.c}}
\doxyparagraph{\texorpdfstring{writeCsv()}{writeCsv()}}
{\footnotesize\ttfamily char write\+Csv (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{embroidery_8h_a168c2ed6c7e17dd1aa7755aabc1db314}{Emb\+Pattern}} $\ast$}]{pattern,  }\item[{FILE $\ast$}]{file }\end{DoxyParamCaption})}

